Slicing the SCAM Mug: A Case Study in Semantic Slicing
نویسنده
چکیده
In this paper we describe an improved formalisation of slicing in WSL transformation theory and apply the result to a particularly challenging slicing problem: the SCAM mug [1]. We present both syntactic and semantic slices of the mug program and give semantic slices for various generalisations of the program. Although there is no algorithm for constructing a minimal syntactic slice, we show that it is possible, in the WSL language, to derive a minimal semantic slice for any program and any slicing criteria.
منابع مشابه
The Formal Transformation Approach to Source Code Analysis and Manipulation
In this paper we give a brief introduction to the foundations of WSL transformation theory and describe some applications to program slicing. We introduce some generalisations of traditional slicing, amorphous slicing and conditioned slicing which are possible in the framework of WSL transformations. One generalisation is “semantic slicing” which combines slicing and abstraction to a specificat...
متن کاملProgram Slicing: Methods and Applications
Program slicing is a viable method to restrict the focus of a task to specific sub-components of a program. Examples of applications include debugging, testing, program comprehension, restructuring, downsizing, and parallelization. This paper discusses different statement deletion based slicing methods, together with algorithms and applications to software engineering.
متن کاملInterprocedural Static Slicing of Binary Executables
Although the slicing of programs written in a high-level language has been widely studied in the literature, very little work has been published on the slicing of binary executable programs. The lack of existing solutions is really hard to understand since the application domain for slicing binaries is similar to that for slicing high-level languages. In this paper we present a method for the i...
متن کاملA Hybrid Program Slicing Framework
Program Slicing is a decomposition technique that transforms a large program into a smaller one that contains only statements relevant to the computation of a selected function. Applications of program slicing can be found in software testing, debugging, and maintenance by reducing the amount of data that has to be analyzed in order to comprehend a program or parts of its functionality. In this...
متن کامل